import { createStore, applyMiddleware } from 'redux';
import { routerMiddleware } from 'connected-react-router';
import thunk from "redux-thunk";
import history from "./history";
import reducer from './reducers';


/* 
1.thunk 中间件已经能被应用到该 store：
thunk 中间件导入自 redux-thunk，
并且 thunk 的实例被传递给 Redux 的 applyMiddleware() enhancer函数。
thunk 中间件使我们能够编写异步 action creator，它返回的是函数，而不是对象

2.routerMiddleware 可以通过向仓库派发动作的方式实现路由跳转。 
  每次路径发生变化时可以把最新的路径放到仓库里面，以便随时在仓库中获取
*/ 
const index = createStore(reducer, applyMiddleware(thunk, routerMiddleware(history)));

window.store = index;

export default index
